package com.zzw.service;

import com.github.pagehelper.PageInfo;
import com.zzw.bean.Order;
import com.zzw.bean.OrderItem;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

public interface OrderService {
   /* // 新增订单
    int addOrder(Order order);

    // 确认订单
    int confirmOrder(Integer id);

    // 更新订单状态为已发货
    int updateOrderToShipped(Integer id);

    // 完成订单
    int completeOrder(Integer id);

    // 根据ID查询订单
    Order getOrderById(Integer id);

    // 根据订单号查询订单
    Order getOrderByOrderNo(String orderNo);

    // 查询订单详情（包括订单项）
    Order getOrderDetailById(Integer id);

    // 分页查询订单列表
    PageInfo<Order> getOrderList(Map<String, Object> params, int pageNum, int pageSize);

    // 删除订单
    int deleteOrder(Integer id);

    // 生成订单编号
    String generateOrderNo();

    // 更新订单项已发货数量
    int updateOrderItemShippedQuantity(Integer orderItemId, Integer shippedQuantity);

    // 更新订单已发货总数量
    int updateOrderShippedQuantity(Integer orderId, Integer shippedQuantity);

    // 根据ID获取订单项
    OrderItem getOrderItemById(Integer orderItemId);*/

    Order selectOrderById(@Param("id") Long id);

    Order selectOrderByOrderNo(@Param("orderNo") String orderNo);

    List<Order> selectOrderList();


    int insertOrder(Order order);

    int updateOrder(Order order);
}
